libgcal is an ANSI C library that does allow communication with
google calendar and contacts, useful if you need to support this
in a C or C++ application.

Currently, libgcal implements:

 - authentication
 - get all events/contacts
 - atom stream parsing
 - access to individual events/contacts
 - add/delete/edit using gcal objects
 - add/delete/edit using raw XML
 - query for updated events/contacts
 - timezone
 - contact photo download/upload

What is missing: batch commit, calendar (creation of recurrent
events), support other calendars (only the main calendar is currently
supported).
